import MathTools from "../../Utils/MathTools";
import {   IVector, IPoint } from "../../Interfaces/IRole";

/**数学运动公式 */
export default class MathMontion {
    /**
    * 通过角度进行匀速圆周运动
    * @param angle 角度
    * @param speed 角速度
    * @param radius 半径
    * @returns 瞬时坐标点
    */
    static moveCircleByAngle(angle: number, radius: number): IPoint {
        var radian = MathTools.A2R(angle);
        var _x = Math.cos(radian) * radius;
        var _y = Math.sin(radian) * radius;
        return { x: _x, y: _y };
    }
    /**
      * 通过角度进行直线移动,时间为帧。 
      * @returns 每时刻移动向量
      */
    static moveLineByAngle(angle: number, speed: number): IVector {
        var radian = MathTools.A2R(angle);
        var _x = Math.cos(radian) * speed;
        var _y = Math.sin(radian) * speed;
        return { x: _x, y: _y };
    }
}